package pers.yurwisher.rubick.manager.service;

import pers.yurwisher.rubick.common.enums.UserClientType;
import pers.yurwisher.rubick.common.user.CustomTokenCache;
import pers.yurwisher.rubick.manager.common.Utils;
import pers.yurwisher.rubick.manager.pojo.auth.OnlineUser;

/**
 * @author yq
 * @date 2020/09/18 17:20
 * @description 在线用户service
 * @since V1.0.0
 */
public interface IOnlineUserService {

    /**
     * 根据凭证获取在线用户
     *
     * @param token 凭证
     * @return 在线用户
     */
    OnlineUser get(String token);

    /**
     * 保存在线信息到redis
     *
     * @param tokenCacheObject   用户及token信息
     * @param clientInfo         客户端信息
     * @param clientType         客户端类型
     */
    void save(CustomTokenCache tokenCacheObject, Utils.UserClientInfo clientInfo, UserClientType clientType);

}
